package com.winchain.chainbill.bill.biz.discount.service;

import com.shell.bee.persistence.model.PageLimit;
import com.winchain.chainbill.bill.base.po.CbDct;
import com.winchain.chainbill.bill.biz.discount.vo.BillDct;
import com.winchain.chainbill.bill.biz.discount.vo.DctForInvoiceVo;
import com.winchain.chainbill.bill.biz.query.vo.CbRecQueryVo;
import com.winchain.chainbill.bill.biz.query.vo.CbRecVo;
import java.util.List;

public abstract interface BillDctQueryService {
	public abstract List<CbRecVo> selectBillForDct(PageLimit paramPageLimit, CbRecQueryVo paramCbRecQueryVo);

	public abstract List<BillDct> selectBillForDctReviewByPage(PageLimit paramPageLimit,
			CbRecQueryVo paramCbRecQueryVo);

	public abstract CbDct selectDctByPrntId(String paramString);

	public abstract CbDct selectByBillId(String paramString);

	public abstract List<BillDct> selectDctBillForPaid(PageLimit paramPageLimit, CbRecQueryVo paramCbRecQueryVo);

	public abstract List<BillDct> selectDctBillForPaid(CbRecQueryVo paramCbRecQueryVo, String paramString);

	public abstract List<DctForInvoiceVo> selectUnApplyBills(PageLimit paramPageLimit, String paramString1,
			String paramString2, String paramString3);

	public abstract List<DctForInvoiceVo> selectApplyBills(String paramString);

	public abstract List<BillDct> selectDctBillForPrePaid(PageLimit paramPageLimit, CbRecQueryVo paramCbRecQueryVo);

	public abstract List<BillDct> selectDctBillForPrePaid(CbRecQueryVo paramCbRecQueryVo, String paramString);

	public abstract List<BillDct> selectBillForDctApproveByPage(PageLimit paramPageLimit,
			CbRecQueryVo paramCbRecQueryVo);

	public abstract List<BillDct> selectBillForDctMgtByPage(PageLimit paramPageLimit, CbRecQueryVo paramCbRecQueryVo);

	public abstract List<BillDct> selectUnuploadInvoiceListByPage(PageLimit paramPageLimit,
			CbRecQueryVo paramCbRecQueryVo);
}
